1 /** 2 * This file is part of libphidget21 3 * 4 * Copyright 2006-2015 Phidgets Inc <patrick@phidgets.com> 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 3 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, see 18 * <http://www.gnu.org/licenses/> 19 */ 20 module phidget21.phidconst; 21 22 extern(C) __gshared { 23 /** 24 * Phidget device class uniquely identifies a class of Phidgets. 25 */ 26 enum CPhidget_DeviceClass { 27 PHIDCLASS_ACCELEROMETER = 2, /**< Phidget Accelerometer */ 28 PHIDCLASS_ADVANCEDSERVO = 3, /**< Phidget Advanced Servo */ 29 PHIDCLASS_ANALOG = 22, /**< Phidget Analog */ 30 PHIDCLASS_BRIDGE = 23, /**< Phidget Bridge */ 31 PHIDCLASS_ENCODER = 4, /**< Phidget Encoder */ 32 PHIDCLASS_FREQUENCYCOUNTER = 21, /**< Phidget Frequency Counter */ 33 PHIDCLASS_GPS = 5, /**< Phidget GPS */ 34 PHIDCLASS_INTERFACEKIT = 7, /**< Phidget Interface Kit */ 35 PHIDCLASS_IR = 19, /**< Phidget IR */ 36 PHIDCLASS_LED = 8, /**< Phidget LED */ 37 PHIDCLASS_MOTORCONTROL = 9, /**< Phidget Motor Control */ 38 PHIDCLASS_PHSENSOR = 10, /**< Phidget PH Sensor */ 39 PHIDCLASS_RFID = 11, /**< Phidget RFID */ 40 PHIDCLASS_SERVO = 12, /**< Phidget Servo */ 41 PHIDCLASS_SPATIAL = 20, /**< Phidget Spatial */ 42 PHIDCLASS_STEPPER = 13, /**< Phidget Stepper */ 43 PHIDCLASS_TEMPERATURESENSOR = 14, /**< Phidget Temperature Sensor */ 44 PHIDCLASS_TEXTLCD = 15, /**< Phidget TextLCD */ 45 PHIDCLASS_TEXTLED = 16, /**< Phidget TextLED */ 46 PHIDCLASS_WEIGHTSENSOR = 17, /**< Phidget Weight Sensor */ 47 } 48 49 /** 50 * Phidget device id uniquely identifies a specific type of Phidget. 51 */ 52 enum CPhidget_DeviceID { 53 /* These are all current devices */ 54 PHIDID_ACCELEROMETER_3AXIS = 0x07E, /**< Phidget 3-axis Accelerometer (1059) */ 55 PHIDID_ADVANCEDSERVO_1MOTOR = 0x082, /**< Phidget 1 Motor Advanced Servo (1066) */ 56 PHIDID_ADVANCEDSERVO_8MOTOR = 0x03A, /**< Phidget 8 Motor Advanced Servo (1061) */ 57 PHIDID_ANALOG_4OUTPUT = 0x037, /**< Phidget Analog 4-output (1002) */ 58 PHIDID_BIPOLAR_STEPPER_1MOTOR = 0x07B, /**< Phidget 1 Motor Bipolar Stepper Controller with 4 Digital Inputs (1063) */ 59 PHIDID_BRIDGE_4INPUT = 0x03B, /**< Phidget Bridge 4-input (1046) */ 60 PHIDID_ENCODER_1ENCODER_1INPUT = 0x04B, /**< Phidget Encoder - Mechanical (1052) */ 61 PHIDID_ENCODER_HS_1ENCODER = 0x080, /**< Phidget High Speed Encoder (1057) */ 62 PHIDID_ENCODER_HS_4ENCODER_4INPUT = 0x04F, /**< Phidget High Speed Encoder - 4 Encoder (1047) */ 63 PHIDID_FREQUENCYCOUNTER_2INPUT = 0x035, /**< Phidget Frequency Counter 2-input (1054) */ 64 PHIDID_GPS = 0x079, /**< Phidget GPS (1040) */ 65 PHIDID_INTERFACEKIT_0_0_4 = 0x040, /**< Phidget Interface Kit 0/0/4 (1014) */ 66 PHIDID_INTERFACEKIT_0_0_8 = 0x081, /**< Phidget Interface Kit 0/0/8 (1017) */ 67 PHIDID_INTERFACEKIT_0_16_16 = 0x044, /**< Phidget Interface Kit 0/16/16 (1012) */ 68 PHIDID_INTERFACEKIT_2_2_2 = 0x036, /**< Phidget Interface Kit 2/2/2 (1011) */ 69 PHIDID_INTERFACEKIT_8_8_8 = 0x045, /**< Phidget Interface Kit 8/8/8 (1013, 1018, 1019) */ 70 PHIDID_INTERFACEKIT_8_8_8_w_LCD = 0x07D, /**< Phidget Interface Kit 8/8/8 with TextLCD (1201, 1202, 1203) */ 71 PHIDID_IR = 0x04D, /**< Phidget IR Receiver Transmitter (1055) */ 72 PHIDID_LED_64_ADV = 0x04C, /**< Phidget LED 64 Advanced (1031) */ 73 PHIDID_LINEAR_TOUCH = 0x076, /**< Phidget Linear Touch (1015) */ 74 PHIDID_MOTORCONTROL_1MOTOR = 0x03E, /**< Phidget 1 Motor Motor Controller (1065) */ 75 PHIDID_MOTORCONTROL_HC_2MOTOR = 0x059, /**< Phidget 2 Motor High Current Motor Controller (1064) */ 76 PHIDID_RFID_2OUTPUT = 0x031, /**< Phidget RFID with Digital Outputs and Onboard LED (1023) */ 77 PHIDID_RFID_2OUTPUT_READ_WRITE = 0x034, /**< Phidget RFID with R/W support (1024) */ 78 PHIDID_ROTARY_TOUCH = 0x077, /**< Phidget Rotary Touch (1016) */ 79 PHIDID_SPATIAL_ACCEL_3AXIS = 0x07F, /**< Phidget Spatial 3-axis accel (1049, 1041, 1043) */ 80 PHIDID_SPATIAL_ACCEL_GYRO_COMPASS = 0x033, /**< Phidget Spatial 3/3/3 (1056, 1042, 1044) */ 81 PHIDID_TEMPERATURESENSOR = 0x070, /**< Phidget Temperature Sensor (1051) */ 82 PHIDID_TEMPERATURESENSOR_4 = 0x032, /**< Phidget Temperature Sensor 4-input (1048) */ 83 PHIDID_TEMPERATURESENSOR_IR = 0x03C, /**< Phidget Temperature Sensor IR (1045) */ 84 PHIDID_TEXTLCD_2x20_w_8_8_8 = 0x17D, /**< Phidget TextLCD with Interface Kit 8/8/8 (1201, 1202, 1203) */ 85 PHIDID_TEXTLCD_ADAPTER = 0x03D, /**< Phidget TextLCD Adapter (1204) */ 86 PHIDID_UNIPOLAR_STEPPER_4MOTOR = 0x07A, /**< Phidget 4 Motor Unipolar Stepper Controller (1062) */ 87 88 /* These are all past devices (no longer sold) */ 89 PHIDID_ACCELEROMETER_2AXIS = 0x071, /**< Phidget 2-axis Accelerometer (1053, 1054) */ 90 PHIDID_INTERFACEKIT_0_8_8_w_LCD = 0x053, /**< Phidget Interface Kit 0/8/8 with TextLCD (1219, 1220, 1221) */ 91 PHIDID_INTERFACEKIT_4_8_8 = 4, /**< Phidget Interface Kit 4/8/8 */ 92 PHIDID_LED_64 = 0x04A, /**< Phidget LED 64 (1030) */ 93 PHIDID_MOTORCONTROL_LV_2MOTOR_4INPUT = 0x058, /**< Phidget 2 Motor Low Voltage Motor Controller with 4 Digital Inputs (1060) */ 94 PHIDID_PHSENSOR = 0x074, /**< Phidget PH Sensor (1058) */ 95 PHIDID_RFID = 0x030, /**< Phidget RFID without Digital Outputs */ 96 PHIDID_SERVO_1MOTOR = 0x039, /**< Phidget 1 Motor Servo Controller (1000) */ 97 PHIDID_SERVO_1MOTOR_OLD = 2, /**< Phidget 1 Motor Servo Controller - Old Version */ 98 PHIDID_SERVO_4MOTOR = 0x038, /**< Phidget 4 Motor Servo Controller (1001) */ 99 PHIDID_SERVO_4MOTOR_OLD = 3, /**< Phidget 4 Motor Servo Controller - Old Version */ 100 PHIDID_TEXTLCD_2x20 = 0x052, /**< Phidget TextLCD without Interface Kit (1210) */ 101 PHIDID_TEXTLCD_2x20_w_0_8_8 = 0x153, /**< Phidget TextLCD with Interface Kit 0/8/8 (1219, 1220, 1221) */ 102 PHIDID_TEXTLED_1x8 = 0x049, /**< Phidget TextLED 1x8 */ 103 PHIDID_TEXTLED_4x8 = 0x048, /**< Phidget TextLED 4x8 (1040) */ 104 PHIDID_WEIGHTSENSOR = 0x072, /**< Phidget Weight Sensor (1050) */ 105 /* Device in firmware upgrade mode */ 106 PHIDID_FIRMWARE_UPGRADE = 0x098, 107 } 108 }